package com.wlyuan.open.scanner.repository;

import com.wlyuan.open.scanner.dao.entity.OrderIndexDO;
import com.wlyuan.open.scanner.domain.transport.Transport;
import com.wlyuan.open.scanner.domain.transport.TransportIdRelation;

import java.util.List;

/**
 * @author lijing
 * @description
 */
public interface TransportRepository {

    /**
     * 同步运单
     */
    void sync();

    Transport parse(Long up, Long down);

    /**
     * 同步运单关系
     */
    void syncRelation();

    /**
     * 同步运单关系
     */
    TransportIdRelation getRelationByDownId(Long downTransportId);

    /**
     * 根据租户运单关系
     *
     * @param tenantId
     */
    void getRelationByTenantId(Long tenantId);

    /**
     * 运输单
     *
     * @return
     */
    List<Transport> transportList();

    /**
     * 根据id获取信息
     *
     * @param transportId
     * @return
     */
    Transport getById(Long transportId);

    /**
     * 获取上下游
     *
     * @param id
     * @return
     */
    Transport getCarrierCustomer(Long id);

    /**
     * 根据租户获取
     *
     * @param tenantId
     */
    void getByTenantId(Long tenantId);

    Long upTransportId(OrderIndexDO data);

    List<Long> getByTime(String startTime, String endTime);

    List<Long> getByTenantIdTime(Long tenantId, String startTime, String endTime);
}
